LayoutManager 인터페이스와 구현클래스
✒️ 2025-05-15 14:11 내용 수정
LayoutManager 인터페이스
Container와 Component를 배치하는 방법을 정하는 인터페이스
| 메서드 | 설명 |
|---|---|
addLayoutComponent(String name, Component comp) |
이름이 name인 component를 레이아웃에 추가 |
removeLayoutComponent(Component comp) |
component를 레이아웃에서 제거 |
Dimension preferredLayoutSize(Container parent) |
해당 Container의 원하는 크기를 지정 |
Dimension minimumLayoutSize(Container parent) |
해당 Container의 최소 크기를 지정 |
void layoutContainer(Container parent) |
지정된 Container를 배치 |
- Null
- 레이아웃을 쓰지 않고 각 컴포넌트마다 수동으로 위치를 설정
FlowLayout 클래스
왼쪽에서 오른쪽으로 배치
- 오른쪽에 공간이 더 이상 없다면 아래쪽에 배치한다.
- Container 방향에 따라 오른쪽에서 왼쪽으로 배치할 수 있다.
FlowLayout 인스턴스이름 = new FlowLayout();
FlowLayout 인스턴스이름 = new FlowLayout(int align);
FlowLayout 인스턴스이름 = new FlowLayout(int align, int hgap, int vgap);
BorderLayout 클래스
동, 서 , 남, 북 중앙 5개의 영역으로 나눔
BorderLayout 인스턴스이름 = new BorderLayout();
BorderLayout 인스턴스이름 = new BorderLayout(int hgap, int vgap);
| 상수 | 설명 |
|---|---|
| NORTH | Container 위쪽 |
| South | Container 아래쪽 |
| East | Container 오른쪽 |
| West | Container 왼쪽 |
| Center | Container 중앙 |
GridLayout 클래스
직사각형 표 모양으로 나눔
GridLayout 인스턴스이름 = new GridLayout();
GridLayout 인스턴스이름 = new GridLayout(int row, int col);
GridLayout 인스턴스이름 = new GridLayout(int rows, int cols);
GridLayout 인스턴스이름 = new GridLayout(int rows, int cols, int hgap, int vgap);
- 행이 row, 열이 col인 표 모양 레이아웃 생성
- 2차원 표 모양으로 n X n 으로 설정되어 왼쪽에서 오른쪽, 위에서 아래 순으로 배치
CardLayout 클래스
각각의 Container 내의 Component를 카드로 취급해서 포개어 배치
CardLayout 인스턴스이름 = new CardLayout();
CardLayout 인스턴스이름 = new CardLayout(int hgap, int vgap);